<?php 

/**
* 商品模型
*/
class GoodsModel extends Model{
	// 设置模型对象
	public $table="goods";
	// 设置验证规则
	public $validate = array(
		// // 验证分类名的合法性
		// array('cname','nonull','分类名称不能为空',2,3),
		// array('cname','maxlen:20','分类名称不能超过20个字符',2,3),
		// // 验证分类标题的合法性
		// array('ctitle','nonull','分类标题不能为空',2,3),
		// array('ctitle','maxlen:60','分类标题不能超过60个字符',2,3),
		// // 验证分类关键词的合法性
		// array('ckeywords','nonull','分类关键词不能为空',3,3),
		// array('ckeywords','maxlen:255','分类关键词不能超过255个字符',3,3),
		// // 验证描述的合法性
		// array('cdes','nonull','分类描述不能为空',3,3),
		// array('cdes','maxlen:255','分类描述不能超过255个字符',3,3),
		// // 验证顺序的合法性
		// array('csort','nonull','分类顺序不能为空',2,3),
		// array('csort','num:1,65535','分类顺序不能超过65535',2,3),
		// // 验证静态目录的正确性
		// array('htmldir','nonull','分类静态目录不能为空',2,3),
		// array('htmldir','regexp:/^[a-z0-9_]{1,20}$/','分类静态目录不符合规则',2,3),
		);
	/**
	 * [get_data 获取商品信息]
	 * @return [type] [description]
	 */
	public function get_data($where=NULL,$limit=NULL,$order=NULL){
		return $this->where($where)->limit($limit)->order($order)->all();
	}
	/**
	 * [add_data 增加商品的方法]
	 */
	public function add_data(){
		$pic = $_POST['pic'];
		$this->data["pic"] = $pic[1]["path"];
		$gid=$this->add();
		// 插入商品详情表
		// 定义一个放路径 的变量
		$photoURL = "";
		// 获取post过来的图片地址
		$photo = $_POST['photo'];
		// 循环压入到变量
		foreach ($photo as $v) {
			$photoURL .=$v['path'].',';
		}
		$photoURL = rtrim($photoURL,',');
		$intro =isset($_POST['intro']) ? $_POST['intro'] : '';
		$service=isset($_POST['service']) ? $_POST['service'] : '';
		$goodsDetail = array(
			"small"=>"",
			"medium"=>"",
			"big"=>$photoURL,
			"intro"=>$intro,
			"service"=>$service,
			"gid"=>$gid
			);
		// p($goodsDetail);die();
		K('GoodsDetail')->add_data($goodsDetail);
		// 插入商品属性
		$attrData = $_POST['attr'];
		foreach ($attrData  as $k => $v) {
			$Data = array(
				"taid"=>$k,
				"added"=>0,
				"gtvalue"=>$v,
				"gid"=>$gid
				);
			K('GoodsAttr')->add_data($Data);
		}
		// 插入商品规格
		if (isset($_POST['spec'])) {
			$specData = $_POST['spec'];
			foreach ($specData as $k => $v) {
				$arr = array();
				for ($i=0; $i <count($v["tavalue"]); $i++) { 
					$Data = array(
						"taid"=>$k, 
						"added"=>$v["added"][$i],
						"gtvalue"=>$v["tavalue"][$i],
						"gid"=>$gid
					);
					K('GoodsAttr')->add_data($Data);
				}
			}
		}	
		return true;
		
	}
	/**
	 * [get_one_data 获取一条数据]
	 * @param  [type] $where [description]
	 * @return [type]        [description]
	 */
	public function get_one_data($where = NULL){
		return $this->where($where)->find();
	}
	/**
	 * [del_data 删除数据]
	 * @param  [type] $cid [description]
	 * @return [type]      [description]
	 */
	public function del_data($where=NULL){
		$this->where($where)->delete();
		K('goodsDetail')->del_data($where);
		K('goodsAttr')->del_data($where);
		return true;
	}
	/**
	 * [update_data 更新商品]
	 * @return [type] [description]
	 */
	public function update_data($where=NULL,$data=NULL){
		$this->where($where)->save($data);
	}
	/**
	 * [get_gids 通过分类获取分类下商品ID]
	 * @param  [type] $where [条件]
	 * @param  [type] $filed [取值]
	 * @return [type]        [description]
	 */
	public function get_gids($where=NULL,$filed=NULL){
		return $this->where($where)->getField($filed,true);
	}
	
	
}

 ?>